Computer memories used for high reliability control systems and the like, incorporate one or more parity bits with each addressable memory word. Parity bits allow the detection of errors in stored data caused by an inadvertent changing of one or more bits in the stored data. The errors may be caused, for example, by a minor failure of the memory storage circuitry or a failure in the process of reading or writing of the memory.
A single parity bit permits the detection of an error in a single bit or odd number of bits in a memory word of arbitrary length. Using even parity, the parity bit may be set if the number of set bits in the memory word is odd and reset otherwise. If an error occurs in one bit of the memory word, the number of set bits will no longer correspond to the state of the parity bit and an error will be indicated. Multiple parity bits permit detection and correction of multiple errors in a memory word according to techniques well understood in the art.
Memory devices providing parity typically provide an extra bit of storage for the parity bit. Thus, for a computer using eight-bit memory words, a parity memory device would provide nine bits of storage at each address.
In industrial controllers, memory errors are a significant concern because they may directly affect the operation of a physical process being controlled. Further, some industrial control systems employ redundant control architectures in which a fault in a primary controller causes a secondary controller to assume control. Memory parity bits can be used in such redundant systems to trigger a switch over of control between primary and secondary controllers based on memory errors that are otherwise difficult to detect.
The market for memory devices is increasingly driven by the demand for personal computer systems. Many such personal computer systems do not use parity bits. As a result, the availability of parity memory devices in the future is uncertain.